import {
  ADD1,
  MINUS1,
} from '../action-type'
// 创建 action 的函数
function add1() {
  return { type: ADD1 }
}

// 创建 action 的函数
function minus1() {
  return { type: MINUS1 }
}

// 可以派发函数的 actionCreator
function thunkAdd() {
  return function (getState, dispatch) {
    setTimeout(() => {
      dispatch({ type: ADD1 })
    }, 1000)
  }
}

function promiseAdd() {
  return new Promise((resolve, reject) => {
    setTimeout(() => {
      resolve({type: ADD1})
    }, 1000)
  })
}

const actionCreators1 = {
  add1,
  minus1,
  thunkAdd,
  promiseAdd,
}

/**
 * actionCreators1 是一个对象 里面的每一个函数都会返回一个 action 对象
 */
export default actionCreators1
